﻿// pch.h: 这是预编译标头文件。
// 下方列出的文件仅编译一次，提高了将来生成的生成性能。
// 这还将影响 IntelliSense 性能，包括代码完成和许多代码浏览功能。
// 但是，如果此处列出的文件中的任何一个在生成之间有更新，它们全部都将被重新编译。
// 请勿在此处添加要频繁更新的文件，这将使得性能优势无效。

#ifndef PCH_H
#define PCH_H

// 添加要在此处预编译的标头
#include "framework.h"

#include <iostream>
#include <Windows.h>

#include "Q:\includes\ErrorCode.h"

/// <summary>
/// 主程序分区盘符，如“R”
/// </summary>
typedef char MainProgramPartitionLetter;

/// <summary>
/// 重装系统（原系统）盘符，如“C”
/// </summary>
typedef char ReinstallPartitionLetter;

/// <summary>
/// EFI分区盘符，如“Z”
/// </summary>
typedef char EfiPartitionLetter;

/// <summary>
/// 获取盘符
/// </summary>
/// <param name="Status">输出，返回码，可参考"ErrorCode"</param>
/// <returns>成功返回三个char，失败返回三个NULLNULL</returns>
std::tuple<MainProgramPartitionLetter, ReinstallPartitionLetter, EfiPartitionLetter> RiProgram_Common_GetPartition(
	_Out_ ErrorCode Status
);

#endif //PCH_H
